export default {
    extends: ['stylelint-config-standard', 'stylelint-config-property-sort-order-smacss'],
    ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'],
    // customSyntax: 'postcss-html',
    overrides: [
        {
            customSyntax: 'postcss-html',
            files: ['**/*.(css|html|vue)'],
        },
        {
            customSyntax: 'postcss-less',
            extends: ['stylelint-config-standard', 'stylelint-config-recommended-vue'],
            files: ['*.less', '**/*.less'],
        },
        {
            customSyntax: 'postcss-scss',
            extends: ['stylelint-config-standard-scss', 'stylelint-config-recommended-vue/scss'],
            files: ['*.scss', '**/*.scss'],
            rule: {
                'scss/dollar-variable-pattern': null,
                'scss/percent-placeholder-pattern': null,
            },
        },
    ],
    plugins: ['stylelint-order', 'stylelint-prettier'],
    rules: {
        'at-rule-no-unknown': [
            true,
            {
                ignoreAtRules: [
                    'tailwind',
                    'apply',
                    'variants',
                    'responsive',
                    'screen',
                    'function',
                    'if',
                    'each',
                    'include',
                    'mixin',
                    'extend',
                    'forward',
                    'use',
                ],
            },
        ],
        'font-family-no-missing-generic-family-keyword': null,
        'function-no-unknown': null,
        'import-notation': null,
        'media-feature-range-notation': null,
        'media-query-no-invalid': null,
        'named-grid-areas-no-invalid': null,
        'no-descending-specificity': null,
        'no-empty-source': null,
        'order/order': [
            [
                'dollar-variables',
                'custom-properties',
                'at-rules',
                'declarations',
                {
                    name: 'supports',
                    type: 'at-rule',
                },
                {
                    name: 'media',
                    type: 'at-rule',
                },
                'rules',
            ],
            { severity: 'error' },
        ],
        'order/properties-order': null,
        'prettier/prettier': true,
        'property-no-unknown': null,
        'rule-empty-line-before': [
            'always',
            {
                ignore: ['after-comment', 'first-nested'],
            },
        ],
        'selector-class-pattern': null,
        'selector-not-notation': null,
        'selector-pseudo-class-no-unknown': [
            true,
            {
                ignorePseudoClasses: ['global', 'deep', 'export'],
            },
        ],
        'selector-pseudo-element-no-unknown': [
            true,
            {
                ignorePseudoElements: ['v-deep'],
            },
        ],
        'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }],
    },
}
